import service from "@/utils/request";

const prefix = 'sceneController/';

/**
 * 获取场景，name为过滤条件 
 */
export const getScenes = (data) => {
    return service.post(prefix + 'getScenes', data);
}
/**
 * 获取算法模型列表
 */
export const getAlgorithmModelList = (data) => {
    return service.post(prefix + 'getAlgorithm',data);
}
/**
 * 数据集文件上传
 */
export const fileUpload = (data) => {
    return service.post(prefix + 'fileUpload',data,{
        headers:{
            token:JSON.parse(localStorage.getItem('vuex')).token,
            'Content-Type': 'multipart/form-data',
        }
    });
}
/**
 * 查看文件
 */
export const showFileData = (data) => {
    return service.post(prefix + 'showFileData',data);
}
/**
 * 查询所有文件
 */
export const queryAllFileList = (data) => {
    return service.post(prefix + 'queryAllFileList',data);
}

/**
 * 添加文件夹
 */
export const addGroup = (data) => {
    return service.post(prefix + 'addGroup', data);
}

/**
 * 文件夹重命名
 */
export const editGroupName = (data) => {
    return service.post(prefix + 'editGroupName', data);
}

/**
 * 数据源连接重命名
 */
export const editDsName = (data) => {
    return service.post(prefix + 'editDsName', data);
}



/**
 * 更行或添加数据源信息
 * @param {Object} data 数据源连接对象，如果dsNO不为空，则该操作为修改，dsNO为空，则添加
 * @returns 
 */
export const editDSConnect = (data) => {
    return service.post(prefix + 'editDSConnect', data);
}

/**
 * 测试连接
 */
export const testDSConnection = (data) => {
    return service.post(prefix + 'testDSConnection', data, {
        headers: {  
            'Content-Type': 'application/json'
        }
    });
}


// /**
//  * 获取表名或注释或者视图的名称或注释
//  */
// export const getTablesInfo = (data) => {
//     return service.post(prefix + 'getTablesInfo', data);
// }


/**
 * 查询指定数据源的数据
 */
export const queryDsDataList = (data) => {
    return service.post(prefix + 'queryDsDataList', data);
}

/**
 * 获取树形数据源分组
 */
export const getDataModelList = (data) => {
    return service.post('sceneController/getDataModelList',data);
}
/**
 * 请求模型配置
 * @param data
 * @returns {Promise<axios.AxiosResponse<any>>}
 */
export const queryModelConfig = (data)=>{
    return service.post('algorithmController/getAlgorithmParam',data)
}


/**
 * 查询指定数据源的数据
 */
export const queryDataSourceColumn = (data) => {
    return service.post('algorithmController/getDataSourceColumn', data);
}
/**
 * 算法执行
 * @param data
 * @returns {Promise<axios.AxiosResponse<any>>}
 */
export const executeAlgorithm = (data)=>{
    return service.post('algorithmController/executeAlgorithm',data)
}
/**
 * 保存场景信息
 * @param data
 * @returns {Promise<axios.AxiosResponse<any>>}
 */
export const saveSceneDefine = (data)=>{
    return service.post('sceneController/saveSceneDefine',data)
}
/**
 * 查询查询场景保存信息接口
 * @param data
 * @returns {Promise<axios.AxiosResponse<any>>}
 */
export const getSceneDefine = (data)=>{
    return service.post('sceneController/getSceneDefine',data)
}

/**
 * 删除场景
 * @param data
 * @returns {Promise<axios.AxiosResponse<any>>}
 */
export const deleteSceneById = (data)=>{
    return service.post('sceneController/deleteSceneById',data)
}